<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1、已知persons用户信息数据：
        // 从服务器来的
        let persons = [
            { "username": "xiaoming1", "password": "1111" },
            { "username": "xiaoming2", "password": "222" },
            { "username": "xiaoming3", "password": "33333" },
        ]


        // 从表单来的
        // 2、现有 
        let user = { username: "xiaoming12", password: "222" }

        // 登录原理：
        //     如果persons中含有对应的用户名和密码则提示登录成功，否则提示用户名或密码错误
        // 注册原理：
        //     如果persons中没有对应的用户，则把user追加到persons末尾

        //find(callBack);  查找，条件符合返回对应的那个数据，不符合返回undefined
        // 登录
        let resUser = persons.find(val =>
            val.username == user.username && val.password == user.password // 条件
        );
        console.log(resUser);
        if(resUser){
            console.log("登录成功");
        }else{
            console.log("用户名或密码错误");
        }

        // findIndex(callBack);  查找下标，找到对应数据返回在数据中对应的下标，没由找到返回-1

        let resIndex = persons.findIndex((val)=>val.username == user.username && val.password == user.password);
        console.log(resIndex);

        if(resIndex == -1){
            persons.push(user);
        }

        console.log(persons);

    </script>
</body>

</html>